#include<conio.h>
#include<math.h>
#include<stdio.h>
float a[101][101]={0},l;
long x[101],h[101];
long n,k;
int trace[101][101];
void input(){
    FILE *fp=fopen("munte.in","r");
    fscanf(fp,"%ld%ld%f",&n,&k,&l);
    for(int i=1;i<=n;i++)
        fscanf(fp,"%ld%ld",&x[i],&h[i]);
    fclose(fp);
}
void init(){
    int i,j,k;
    float d;
    long dh,dx,minh,hk;
    for(i=1;i<=n;i++)
    for(j=1;j<=n;j++)a[i][j]=-1;
    for(i=1;i<n;i++)
        for(j=i+1;j<=n;j++){
            
            dh=h[i]>h[j]?h[i]-h[j]:h[j]-h[i];
            dx=x[j]-x[i];
            
            d=sqrt(dx*dx+dh*dh);
            if(d>l)continue;
            
            minh=h[i]>h[j]?h[j]:h[i];
            for(k=i+1;k<j;k++){
                hk=h[k]-minh;
                if(hk*dx>dh*(x[k]-x[i]))break;
            }
            if(k==j)a[i][j]=d;
            else a[i][j]=-1;
        }
}
int dijkstra(){
    float d[101][101];
    int free[101][101];
    float max;
    const float maxlen=10000000;
    int i,j,u,v,w;
    for(i=0;i<=n;i++)
        for(j=1;j<=n;j++){
            free[i][j]=1;
            d[i][j]=maxlen;
        }
    d[0][1]=0;
    do{
        max=maxlen;
        for(j=0;j<=k;j++){
            for(v=1;v<=n;v++)
                if(free[j][v] && d[j][v]<max){
                u=v;
                w=j;
                max=d[j][v];
            }
        }
        if(max==maxlen)break;
        free[w][u]=0;
        for(v=u+1;v<=n;v++)
            if(a[u][v]>0 && free[w+1][v] && d[w+1][v]>=d[w][u]+a[u][v]){
                trace[w+1][v]=u;
                d[w+1][v]=d[w][u]+a[u][v];
            }
    }while(1);
    return !free[n];
}
void out(){
    int i=n,d[101],total=0;
    while(i>0){
        d[++total]=i;
        i=trace[k--][i];
    }
    FILE *fp=fopen("munte.out","w");
    for(;total>0;total--)
        if(total==1)fprintf(fp,"%d",d[total]);
        else fprintf(fp,"%d ",d[total]);
    fclose(fp);
}
int main(){
    input();
    init();
    dijkstra();
    out();
    return 0; 
}
